package ${sourceBasePackage}.service<#if sourceIncludeModule == 'Y'>.${moduleName}</#if>;

import ${sourceBasePackage}.dto<#if sourceIncludeModule == 'Y'>.${moduleName}</#if>.${entityName}DTO;
import ${sourceBasePackage}.dto<#if sourceIncludeModule == 'Y'>.${moduleName}</#if>.${entityName}SearchDTO;
import ${sourceBasePackage}.model<#if sourceIncludeModule == 'Y'>.${moduleName}</#if>.${entityName};
import ${sourceBasePackage}.vo<#if sourceIncludeModule == 'Y'>.${moduleName}</#if>.${entityName}PageVO;
import com.jxdinfo.hussar.platform.core.base.apiresult.ApiResponse;
import com.jxdinfo.hussar.support.mp.base.service.HussarService;

/**
 * ${description}Service接口
 *
 * @author ${author}
 * @since ${createDate}
 */
public interface ${entityName}Service extends HussarService<${entityName}> {

	/**
	 * 分页查询
	 * @param ${entityName?uncap_first}SearchDTO
	 * @return
	 */
	ApiResponse<${entityName}PageVO> listByPage(${entityName}SearchDTO ${entityName?uncap_first}SearchDTO);

	/**
	 * 通过id查询
	 * @param ${pkPropertyName}
	 * @return
	 */
	ApiResponse<${entityName}DTO> getById(${pkPropertyType} ${pkPropertyName});

	/**
	 * 新增
	 * @param ${entityName?uncap_first}DTO
	 */
	ApiResponse<String> add(${entityName}DTO ${entityName?uncap_first}DTO);

	/**
	 * 修改
	 * @param ${entityName?uncap_first}DTO
	 */
	ApiResponse<String> update(${entityName}DTO ${entityName?uncap_first}DTO);

	/**
	 * 删除
	 * @param ${pkPropertyName}
	 */
	ApiResponse<Boolean> delete(${pkPropertyType} ${pkPropertyName});

}
